1. Technology Field
The present invention relates generally to computer based search and navigation. More specifically, embodiments of the present invention relate to the use of lexically-related strings, sub-strings, and/or search elements within one or more dynamically-created list objects that can be used for generating a search query or for navigation.
2. Related Technology
Information systems, including the Internet, intranets, databases, lexicons, and any collection of documents or electronic information, are growing at an explosive rate. As the size and corresponding amount of information and content of these systems grow, new search techniques and methodologies are needed to efficiently and conveniently access and navigate that information.
Currently, more efficient methods of searching usually require some form of indexing of the content stored within these systems. For example, there are established and conventional techniques for indexing information systems, such as PageRank™ used by the Google™ search engine for the Internet, or relevance or other computational linguistic methodologies for locating search results within an information system. Searching the Internet is particularly problematic. The Internet is a complex and unstructured database that is constantly growing and from which terabytes of information can be retrieved. However, traversing and navigating the Internet is becoming increasingly difficult and time consuming as its explosive growth continues, and locating relevant information on the Internet can be difficult and frustrating. Hence, for both the Internet as well as other content systems, there is a general and ongoing need to improve the quality of information that is returned in response to a user query.
Searchers are often frustrated by the sheer volume and lack of relevance of search results that result from many existing search engines and methodologies. Moreover, improved processing speeds often are not the solution. For example, the improved speed of systems such as Google's might appear to save the searcher's time, but often the exact opposite is true due to the huge volume of (often irrelevant) search results that are returned. Irrelevant and inaccurate search results is an increasing problem due in part to the ever-expanding size of the body of content being indexed; in essence immediate relevance is inversely related to breadth or size of the body of content being searched.
Existing search methodologies are lacking in other respects as well. As is known, the quality of results returned often is dictated by the quality of the search terms used in the search query. However, the articulation of an appropriate search term is often difficult. This problem typically stems from the searcher not knowing the “vocabulary” or “lexicon” of the information system/database into which they are entering their query string. What is the best or even approximate query to use? Often the user conducts the search on an iterative basis by adding to or changing their query string many times, in a “hit or miss” fashion, before arriving at the appropriate search query. The process can be time consuming and frustrating.
In a common search setting, a user might use a conventional search engine from search services available on the Internet at Google.com, Yahoo.com, OpenText.com, UltraSeek.com, Clusty.com, and the like, or a search methodology used on Internet sites such as PCConnection.com, LLBean.com, Corbis.com, Wikipedia.org. In environments such as these, a user looking for specific information typically submits a query (i.e., a Boolean logic construct of words) to the search engine/method. In response, the search tool uses the query to search for the desired information, and then returns a “hit” list containing zero or more search results that satisfy the query.
Typically, this type of search returns a large set of “hits” or results; a scenario that is increasingly common due to the growth of the Internet and related networks and databases. In addition to the large number of results that are returned, the manner in which the search results are presented to the user is often not helpful. A list of search results returned by a conventional search method is often sorted in accordance with some form of computational linguistic calculation. For example, the order of the listing may be based on a calculated relevance. In one example, relevance may be based on how many times the word(s) in the user's query are found in each result. Unfortunately, this presentation approach may not prioritize the result presentation in the most appropriate manner and, in any event, does little to address the problems presented when a large number of search results are returned. As a result, the user is required to spend more and more time sifting through the results of a search in order to find the information that is actually of interest.
In view of the foregoing problems and shortcomings, there is a need to provide a user with a better opportunity to construct an appropriate search query in the first instance. In this way, the user would be provided with a more relevant and manageable list of search results. Preferably, a solution would entail the use of semantic search tools that take advantage of the user's own knowledge of the content being searched, and that would also provide semantically- and lexically-related alternatives to the string or prompt being entered or provided by the user. The user would then be in the position of selecting the most appropriate search criteria. This type of assistance would preferably be provided dynamically or in “real time” as the user is constructing a search, thereby increasing the speed and efficiency of the search process. The use of more appropriate search criteria would result in more appropriate more relevant and more manageable search results, thereby alleviating many of the drawbacks present in currently available search systems.